A web application is any application (computer program) that includes a user interface for display by a web browser. Typically, the web browser executes on a client and the web application executes on a web server. The web browser displays the web applications' user interface on the client.
There are currently a multitude of web applications that allow a user to provide a copy of the contents of a file stored on a user's local file system to the web application, that is, to pull the contents of the file to the web application. However, these web applications require that the file (or a copy) be stored in the user's local file system. Thus, to allow file pulls to a web application, the client includes local storage.
With the availability of on-line storage sites, many files are stored on remote database servers instead of being stored locally. Thus, pulling a file from a remote database server to a web application includes a multi-stage copy process. The file is first copied to local storage, and then the locally-stored file is copied to the web application. For example, a web application executing on a web server provides a user interface displayed by a web browser in the client to allow a user on the client to create a web page. To add an image stored on a database server to the web page stored on the first server, the client pulls the image file from the database server by first copying the image file, saving the copied image file to local storage on the client, then copying the locally stored image file to the web server. Similarly, to push an image file into the database server, the client must first copy the file from the web application, save the copied file to local storage, then copy the locally-stored file to the remote storage system. The additional step of copying the file to local storage before copying the file to the web application consumes network bandwidth. Also, a file cannot be copied to a web application by a client lacking sufficient local storage.
On-line storage web sites provide a method for pushing the contents of files directly from a web application executing in a web server to an on-line remote storage site. However, the ability to select the destination location within the on-line remote storage system is not provided.